package com.example.app2;

// 1.能够手动滑动起来  **
//2.加入页面指示器，小点点 ***
//3.无限滑动
//4. 每隔5秒自动滑动一次
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import java.util.ArrayList;
public class GuideActivity extends AppCompatActivity {
    ViewPager vp;
    LinearLayout layout;
    ArrayList<ImageView> list;
    int resId[] = {R.mipmap.a,R.mipmap.b,R.mipmap.c,R.mipmap.d,R.mipmap.e,R.mipmap.f,R.mipmap.g,R.mipmap.h,
            R.mipmap.i,R.mipmap.j,R.mipmap.k,R.mipmap.q,R.mipmap.v,R.mipmap.w,R.mipmap.x,R.mipmap.z};
    GuideAdapter adapter;
    ArrayList<ImageView> pointlist;   //管理小点点的集合
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_guide);
        vp = findViewById(R.id.guide_vp);
        layout = findViewById(R.id.guide_layout);
        // 2.数据源
        list = new ArrayList<>();
        pointlist = new ArrayList<>();
        initImage();
        //设置适配器
        adapter = new GuideAdapter(this, list);
        vp.setAdapter(adapter);
        // 监听滑动的位置
        vp.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){
            @Override
            public void onPageSelected(int position) {
                for (int i = 0; i < pointlist.size(); i++) {
                    pointlist.get(i).setImageResource(R.mipmap.p0);
                }
                pointlist.get(position%pointlist.size()).setImageResource(R.mipmap.p1);
            }
        });
        vp.setCurrentItem(100);
    }

    private void initImage() {
        for (int i = 0; i < resId.length; i++) {
            ImageView imageView = new ImageView(this);
            imageView.setLayoutParams(new ViewGroup.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  //让图片等比例放大
            imageView.setImageResource(resId[i]);  //设置显示图片
            list.add(imageView);
            //初始化小点点
            ImageView piv = new ImageView(this);
            piv.setLayoutParams(new ViewGroup.LayoutParams(
                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
            piv.setScaleType(ImageView.ScaleType.CENTER_CROP);
            piv.setImageResource(R.mipmap.p0);
            pointlist.add(piv);
            layout.addView(piv);
        }
        pointlist.get(0).setImageResource(R.mipmap.p1);
    }
}
